package concoursbelote;

/**
 * Permet de gérer le stock des boissons
 * @author Guillaume
 *
 */
public class Boissons 
{
	//*********************************************************
	//			ATTRIBUTS
	//*********************************************************
	private String nomBoisson;
	private double quantiteBue;
	private int nbrVerres1Bouteille;
	private int nbrVerresRestants;
	private double degreParVerre;
	private int stocks;
	private double prixAchatBouteille;
	private double prixVenteVerre;
	private String ecriture;
	
	
	//*********************************************************
	//			CONSTRUCTEURS
	//*********************************************************
	/**
	 * Permet de construire une boisson
	 * @author Guillaume
	 * @param nomBoisson
	 * @param quantite
	 * @param nbrVerres1Bouteille
	 * @param nbrVerresRestants
	 * @param degreParVerre
	 * @param stocks
	 * @param prixAchatBouteille
	 * @param prixVenteVerre
	 */
	public Boissons(String nomBoisson, double quantiteBue, int nbrVerres1Bouteille, int nbrVerresRestants,
			double degreParVerre, int stocks, double prixAchatBouteille,
			double prixVenteVerre, String ecriture) 
	{
		this.nomBoisson = nomBoisson;
		this.quantiteBue = quantiteBue;
		this.nbrVerres1Bouteille = nbrVerres1Bouteille;
		this.nbrVerresRestants = nbrVerresRestants;
		this.degreParVerre = degreParVerre;
		this.stocks = stocks;
		this.prixAchatBouteille = prixAchatBouteille;
		this.prixVenteVerre = prixVenteVerre;
		this.ecriture = ecriture;
	}

	//*********************************************************
	//			GETTEURS
	//*********************************************************
	public String getNomBoisson() 
	{
		return nomBoisson;
	}
	public double getQuantiteBue() 
	{
		return quantiteBue;
	}
	public int getNbrVerres1Bouteille() 
	{
		return nbrVerres1Bouteille;
	}
	public int getNbrVerresRestants() 
	{
		return nbrVerresRestants;
	}
	public double getDegreParVerre() 
	{
		return degreParVerre;
	}
	public int getStocks() 
	{
		return stocks;
	}
	public double getPrixAchatBouteille() 
	{
		return prixAchatBouteille;
	}
	public double getPrixVenteVerre() 
	{
		return prixVenteVerre;
	}
	public String getEcriture() 
	{
		return ecriture;
	}
	
	
	//*********************************************************
	//			SETTEURS
	//*********************************************************
	public void setNbrVerresRestants(int nbrVerresRestants) 
	{
		this.nbrVerresRestants = nbrVerresRestants;
	}
	public void setStocks(int stocks) 
	{
		this.stocks = stocks;
	}
	
	
	//*********************************************************
	//			CREATIONS DES DIFFERENTES BOISSONS
	//*********************************************************
	
	//Boissons non alcoolisées
	static Boissons eau = new Boissons("eau", 20, 10, 10,  0, 50, 2, 0.5, "de l'");
	static Boissons coca = new Boissons("coca", 25, 10, 10, 0, 50, 3, 1, "un ");
	static Boissons orangina = new Boissons("orangina", 25, 1, 1, 0, 150, 1, 1.5, "un ");
	static Boissons iceTea = new Boissons("ice-tea", 25, 10, 10, 0, 50, 3, 1, "un ");
	//Boissons alcoolisées
	static Boissons biere = new Boissons("bière", 25, 1, 1, 0.25, 100, 1.5, 2.5, "une ");
	static Boissons whisky = new Boissons("whisky", 4, 12, 12, 0.32, 50, 10, 3, "un ");
	static Boissons vodka = new Boissons("vodka", 4, 12, 12, 0.32, 50, 10, 3, "une ");
	static Boissons martini = new Boissons("martini", 8, 18, 18, 0.24, 30, 12, 3, "un ");
	static Boissons rose = new Boissons("rosé", 12.5, 6, 6, 0.25, 50, 3, 1.5, "un ");
	static Boissons rouge = new Boissons("rouge", 12.5, 6, 6, 0.25, 50, 3, 1.5, "un ");
	static Boissons blanc = new Boissons("blanc", 12.5, 6, 6, 0.25, 50, 3, 1.5, "un ");
	static Boissons champagne = new Boissons("champagne", 12.5, 6, 6, 0.25, 50, 15, 4.5, "du ");
	
	
	//*********************************************************
	//			METHODS
	//*********************************************************
	/**
	 * Permet d'initialiser la liste des boissons
	 * @author Guillaume
	 * @param idex
	 */
	public static void creationBoissons()
	{	
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(eau);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(coca);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(orangina);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(iceTea);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(biere);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(whisky);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(vodka);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(martini);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(rose);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(rouge);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(blanc);
		Main.repertoireBar.get(Main.indexBar).mesBoissons.add(champagne);
	}
	
	/**
	 * Surchage de la methode toString
	 * @author Guillaume
	 */
	@Override
	public String toString()
	{
		return getNomBoisson() + " (" + getQuantiteBue() + "cl)   -   " + getPrixVenteVerre() + "€";
	}
	
}
